package com.feib.soeasy.dao;

import java.util.ArrayList;

import com.feib.soeasy.model.User;
import com.feib.soeasy.model.UserLoginControl;
import com.feib.soeasy.pagination.PaginatedList;

/**
 * @title (#)UserLoginControlDao.java<br>
 * @description <br>
 * @author Anson Tsai<br>
 * @version 1.0.0 2010/11/25
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2010/12/5 create by Anson Tsai<br>
 */
public interface UserLoginControlDao extends HibernateDao<UserLoginControl, Long> {

    /**
     * 
     * @param userId 登入帳號
     * @param groupNo 群組代號
     * @return
     */
    public UserLoginControl findByUerIdGroupNo(String userId, String groupNo);
    
    /**
     * 查詢啟用使用者登入資訊
     * @param userId 登入帳號
     * @param groupNo 群組代號
     * @param isBank 是否為銀行端查詢
     * @param paginationConfig 換頁條件
     * @return
     */
    public PaginatedList<UserLoginControl> queryEnabledInfoByUserIdGroupNo(String userId, String groupNo, boolean isBank, PaginatedList<UserLoginControl> paginationConfig);
    
    /**
     * 批次更新使用者登入狀態為Disabled
     * @param userLoginInfos
     */
    public void disableUserLoginInfo(ArrayList<UserLoginControl> userLoginInfos);

    /**
     * @param user 使用者物件，userPk 必須有值
     * @return
     */
    public UserLoginControl findByUer(User user);
}
